#pragma once

#include "fxcc/core/graph/common/ImageMipmap.h"


namespace fxcc
{
	namespace graph
	{
		namespace common
		{
			struct FXCC_API  Character
			{
                struct Desc {

                    std::string m_TTFPath;
                    int m_FontSize;
                    wchar_t m_WChar;

                    bool operator<(const Desc& other) const {
                        return std::tie(m_TTFPath, m_FontSize, m_WChar) < std::tie(other.m_TTFPath, other.m_FontSize, other.m_WChar);
                    };
                    Desc() = default;
                    
                    Desc(const std::string& ttFPath, const int fontSize, const int _wchar):m_TTFPath(ttFPath), m_FontSize(fontSize),m_WChar(_wchar)
                    {
                    }


                };

                glm::ivec2 m_Size;
                glm::ivec2 m_Bearing;
                glm::ivec2 m_Advanced;
                fxcc::graph::common::ImageMipmap m_FontBitMap;
			};
		}
	}
}
